Large capacity Write Once Read Mostly (also known as Write Once Read Many, or WORM) optical storage has recently become available at a. reasonable price. New applications have used WORM optical storage to efficiently and economically store vast amounts of data, such as image data, that would normally be archived in warehouses or basements on paper, x-rays, etc. A volume of data is normally stored on one side of a WORM optical disk.
One optical volume can store lip to 154,000 documents or 19,000 images. Over 2,700 conventional magnetic diskettes would be required to store this massive amount of data. When several optical disks are placed in an optical library or mass optical storage device (also known as a "jukebox", or MOSD), up to 20,000,000 documents can be stored.
Having the capability to store several thousand documents or other data files on a WORM volume is certainly nice, but one major problem still exists--organizing the files in such a manner that finding a file at a later time is easy, fast, and efficient. Previous attempts to solve this problem use a variety of directory structures. The unique requirements of WORM technology optical media prevent using a conventional directory structure since erasure of data in the directory is impossible.
One previous directory structure writes data forward from the beginning of the WORM volume and writes directory entries backward from the end of the WORM volume. The directory and the data grow towards each other at the middle of the volume. This structure has the advantage of not wasting space on the WORM volume, but the access time between finding a directory entry and finding the associated data is very long, since the average distance between directory entry and the data is 1/2 the entire disk. In addition, this structure does not allow for the efficient support of a multi-level tree structure containing several paths. Such a multi-level tree structure can be used to group related files together, and is an important organizational tool for optical disks.
Another previous directory struction segments the WORM volume into a series of interleaved directory areas and adjacent data areas. As files are placed in a data area, a directory entry associated with that file is placed in the adjacent directory area. When the last directory entry in the directory area is used, a new directory area and data area are created. No more data can be placed in the old data area, despite the fact that there usually is space available, since the adjacent directory area is filled. This structure has the advantage of a short access time between finding a directory entry and finding the associated data, since the directory and associated data are always located right next to each other on the disk. However, this structure wastes a lot of valuable space on the WORM volume. Although this structure can be used to support a multi-level tree structure containing several paths, it does not do so efficiently, as each directory area contains directory entries for all paths jumbled up together.